在完成了頂部文字標題面板後,今天我們要進入遊戲畫面的核心部分——建立 3x3 九宮格棋盤的底座面板。
JPanel boardPanel = new JPanel();
// 1. 設定為 3 列 3 欄的網格佈局
boardPanel.setLayout(new GridLayout(3, 3));
// 2. 設定棋盤背景顏色為深灰色
boardPanel.setBackground(Color.darkGray);
// 3. 將棋盤面板加入視窗中央(佔據剩餘空間)
frame.add(boardPanel);
說明:
為什麼使用 GridLayout(3, 3)?
在 Java Swing 中,版面管理器(Layout Manager)決定了元件如何排列。
* GridLayout(網格佈局):會將容器劃分成大小相同的矩形網格。這裡傳入 (3, 3),代表建立了 3 行 3 列共 9 個格子。
* 自動排列特性:接下來只要依序把 9 個按鈕加進 boardPanel,它們就會自動由左至右、由上至下填滿這 9 個格子,省去了手動計算座標與尺寸的麻煩!
* 自動填滿中央:因為頂部的 textPanel 已經佔據了視窗北側(NORTH),後續加入的 boardPanel 會預設佔據邊界佈局(BorderLayout)的中央(CENTER)區域,把整個下半部視窗填滿。
跑出來長這樣:
*今天我們成功使用GridLayout設定好了3x3的棋盤結構與背景色。雖然現在畫面下方看起來甚麼都沒有,但底座已經設定好了。
參考教學影片:https://youtu.be/Nc77ymnm8Ss?si=v10eE5Av4pETXfaL